language model
言語モデルとは、単語列に対する確率分布である。
A statistical language model is a probability distribution over sequences of words. Given such a sequence, say of length m, it assigns a probability $ P(w_{1},\ldots ,w_{m}) to the whole sequence.
統計的な言語モデルとは
ワードのシーケンス(単語列)上の確率分布のこと
長さmのシーケンスがあるときの確率は$ P(w_{1},\ldots ,w_{m})となる
この確率が何を意味するのかが書いてないので分かりにくいmiyamonz.icon
たとえば、シーケンスが与えられている時の次の単語の確率とかのこと
確率の定義は、数学的には確率の定義みたしていればいいだけで、「それがなんなのか」とかは言ってない 後から人間がそれを解釈したり
人間の解釈を教師データとして学習すれば、モデルの精度が上がる(予測したいものを予測できるモデルに近づく)
なので●●という言語モデルの具体例が出たとき
●の確率が示す意味
計算方法?
の2つを考えるとよい?
たとえばBERTとかを言語モデルとして見るなら、シーケンスを入力として、最終層を単語のidの集合にfully connected & normalizeして確率を得ることを想定しているはず
ある言語の文に確率を割り当てるタスク
the lazy dog barked loudlyが出現する確率
ある単語の系列の後につづいたる単語が現れるもっともらしさについての確率
the lazy dogのあとにbarkedはどのくらいの確率で現れるか
じつはこの2つは同じ問題
一方から他方を求めることができる
$ p(w_i \mid w_1, w_2, ....w_{i-1}) = \frac{ p(w_1, ...w_i) }{p(w_1, ...w_{i-1})}
つまり、次単語の確率は、iの長さ全体が出る確率を, i-1までの長さが出る確率で割ればいい
反対は
$ p(w_1, ...w_i) = p(w_1 \mid <s>) * p(w_2 \mid <s>, w_1) ... * p(w_i \mid <s>, w_1, ... w_{i-1})
<S>は文の始まりを意味する
つまり、頭から順番に次単語を予測すればいい
$ P(w_{m+1} \mid w_1, w_2, ....w_m) = \frac{ p(w_1, ...w_i) }{p(w_1, ...w_{i-1})}